var utils = require('/utils/index.js');
var common = require('/utils/common.js');
var base = require('/base_info.js');
Page({
  data: {
    swiperList: [{
      id: 0,
      img: '/images/demoimg/d1.jpg'
    }, {
      id: 1,
      img: '/images/demoimg/d1.jpg'
    }, {
      id: 2,
      img: '/images/demoimg/d1.jpg'
    }],
    indicatorDots: false,
    autoplay: true,
    interval: 3000,
    dotsIndex: 0,
    inTime: '',
    outTime: '',
    adList: [],
    imgUrl: base.imgUrl,
    hotel_info: '',
    recommendList: [],
    ydt: false,
    popup: ''
  },
  // 点击引导图
  ydtClick () {
    this.setData({
      ydt: false
    })
  },
  // 轮播图改变时触发 
  indexChange(e) {
    // 当前页面的 index
    let dotsIndex = e.detail.current;
    // 设置重构的指示点index与原生index同步
    this.setData({
      dotsIndex: dotsIndex
    });
  },
  // 点击进入房型列表
  roomList(e) {
    let recommend = e.currentTarget.dataset.recommend;
    my.navigateTo({
      url: './../room/room-list?recommend=' + (recommend ? recommend : 0)
    });
  },
  // 点击跳转到领取优惠券
  discount() {
    my.navigateTo({
      url: './../discount/apply-discount'
    });
  },
  // 跳转到时间选择页面
  timeDate() {
    my.navigateTo({
      url: './../time/time-native'
    })
  },
  // 跳转到酒店介绍
  introduction() {
    my.navigateTo({
      url: './../room/hotel-introduction'
    });
  },
  // 跳转到详情页
  detail(e) {
    my.navigateTo({
      url: './../room/room-detail?id=' + e.currentTarget.dataset.id
    });
  },
  // 数据清除
  resetData() {
    // 重置数据
    let outTime = this.transTime((new Date()).getTime() + 86400000).slice(0, 10);
    let inTime = this.transTime((new Date()).getTime()).slice(0, 10);
    my.setStorageSync({
      key: 'inTime', // 缓存数据的key
      data: inTime, // 要缓存的数据
    });
    my.setStorageSync({
      key: 'outTime', // 缓存数据的key
      data: outTime, // 要缓存的数据
    });
    my.setStorageSync({
      key: 'discount', // 缓存数据的key
      data: '', // 要缓存的数据
    });
    my.setStorageSync({
      key: 'activity_conetnt', // 缓存数据的key
      data: '', // 要缓存的数据
    });
    my.setStorageSync({
      key: 'uid', // 缓存数据的key
      data: '', // 要缓存的数据
    });
    my.setStorageSync({ 
      key: 'introduction', // 缓存数据的key
      data: '', // 要缓存的数据
    });
    my.setStorageSync({
      key: 'hotel_info', // 缓存数据的key
      data: '', // 要缓存的数据
    });
    try {
      this.setData({
        inTime: inTime ? my.getStorageSync({
          key: 'inTime',
        }).data.slice(5, 10) : '',
        outTime: outTime ? my.getStorageSync({
          key: 'outTime',
        }).data.slice(5, 10) : ''
      });
    } catch (err) {
      this.setData({
        inTime: '',
        outTime: ''
      });
    }
  },
  getAd (share) {
    let that = this;
    utils.getData('SingleGetAd', {
      type: 5,
      share: share ? '1' : '0'
    }, (res) => {
      that.setData({
        adList: res.data.data.banner,
        popup: res.data.data.popup.logo,
        ydt: res.data.data.popup.logo == '' ? false : true
      });
    }, (err) => {
      console.log(err);
    });
  },
  // banner跳转
  bannerNavigate (e) {
    var index = e.currentTarget.dataset.index;
    var adInfo = this.data.adList[index];
    if (adInfo.src == "") { // 如果src不存在,则不做任何操作
      return false;
    }
    console.log(this.data.adList);
    if (adInfo.state == 2) { // 跳转到其他小程序
      my.navigateToMiniProgram({
        appId: adInfo.appid,
        path: adInfo.src,
        success: (res) => {
          console.log(JSON.stringfy(res))
        },
        fail: (res) => {
          console.log(JSON.stringfy(res))
        }
      });
    } else {
      // 本小程序内跳转
      my.navigateTo({
        url: adInfo.src
      });
    }
  },
  getHotelDetail () {
    let that = this;
    my.showLoading({});
    // 获取酒店详情
    utils.getData('SinglePjDetailsPart', {
      seller_id: base.seller_id
    }, (res) => {
      my.setNavigationBar({
        title: res.data.data.name ? res.data.data.name : '首页'
      });
      my.hideLoading();
      that.setData({
        hotel_info: res.data.data
      }); 
      my.setStorageSync({
        key: 'hotel_info', // 缓存数据的key
        data: JSON.stringify(res.data.data), // 要缓存的数据
      });
      my.setStorageSync({
        key: 'my_app_description', // 缓存数据的key
        data: res.data.data.my_app_description, // 要缓存的数据
      });
    }, (err) => {
      console.log(err);
    });
  },
  getRecommendedRoom () {
    let that = this;
    // 推荐客房
    utils.getData('SingRecommendedRoom', {
      page: 1,
      size: 10
    }, (res) => {
      console.log(res); 
      that.setData({
        recommendList: res.data.data
      });
    }, (err) => {
      console.log(err);
    });
  },
  // 获取首页数据
  getData(share) {
    let that = this;
    that.getAd(share);
    that.getHotelDetail();
    that.getRecommendedRoom();
  },
  // 跳转到地图页面
  addressClick () {
    my.navigateTo({
      url: './../map/map'
    });
  },
  // 用户收藏后的调回
  dofavorite () {
    var collection_code = new Date().getTime() + '' + parseInt(Math.random() * 1000000);
    utils.getData('SingleCollectionCallbacks', {
      collection_code: collection_code
    }, (res) => {
    }, err => {
    });
    // 生成随机数
    my.setStorageSync({
      key: 'collect', // 缓存数据的key
      data: collection_code, // 要缓存的数据
    });
  },
  // 申请权益卡
  applyEquity() {
    my.navigateTo({
      url: './../equity-card/apply-equity-card'
    });
  },
  transTime (val) {
    var date = '';
    if (val) {
      date = new Date(val);
    } else {
      date = new Date();
    };
    var Y = date.getFullYear();
    var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
    var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
    var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
    var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
    var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
    return Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s;
  },
  onLoad(query) {
    this.resetData();
    this.getData(query.share);
  },
  onReady() {
    // 页面加载完成
  },
  onShow() {
    my.canIUse('favorite');
    // 页面显示
    // 获取缓存时间
    var inTime = my.getStorageSync({
      key: 'inTime',
    }).data;
    var outTime = my.getStorageSync({
      key: 'outTime',
    }).data;
    try {
      this.setData({
        inTime: inTime ? my.getStorageSync({
          key: 'inTime',
        }).data.slice(5, 10) : '',
        outTime: outTime ? my.getStorageSync({
          key: 'outTime',
        }).data.slice(5, 10) : ''
      })
    } catch (err) {
      this.setData({
        inTime: '',
        outTime: ''
      })
    }
  },
  onHide() {
    // 页面隐藏
  },
  onUnload() {
    // 页面被关闭
  },
  onTitleClick() {
    // 标题被点击
  },
  onPullDownRefresh() {
    // 页面被下拉
  },
  onReachBottom() {
    // 页面被拉到底部
  },
  onShareAppMessage() {
    // 返回自定义分享信息
    return {
      title: my.getStorageSync({
        key: 'hotel_name', // 缓存数据的key
      }).data,
      desc: my.getStorageSync({
        key: 'my_app_description', // 缓存数据的key
      }).data,
      path: 'pages/index/index?share=true',
      success: function (e) {
        console.log(e);
      }
    };
  },
});
